#ifndef COMPRESION_H_
#define COMPRESION_H_

/*
 * Clase que inicialmente contiene la posicion en el bloque de texto del caracter que se 
 * quiere comprimir (posicionCaracterActual). Luego se busca obtener la longitud del match. 
 * 
 * La posición del próximo caracter a comprimir se calcula como posCaracterActual + longitud.
 */
class Compresion
{
	private:
		int longitud, posicionCaracterActual;
		char contexto[2];
		char caracter;
		
	public:
		Compresion(int posCaracterActual);
		virtual ~Compresion();
		char getCaracter() const {return caracter;}
		void setCaracter(char caracter) { this->caracter = caracter; }
		int getPosicionCaracterActual() {return posicionCaracterActual;}
		char getContexto(int pos) {return contexto[pos];}
		void setContexto(char car1, char car2) { contexto[0] = car1; contexto[1] = car2; }
		void setLongitud(int longit) {longitud = longit;}
		void setPosicionCaracterActual(int pos) {posicionCaracterActual = pos;}
		int getLongitud(){return this->longitud;}
};
#endif /*COMPRESION_H_*/

